home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
X User Tools
/
X User Tools (O'Reilly and Associates)(1994).ISO
/
sun4c
/
archive
/
tcltk.z
/
tcltk
/
man
/
cat3
/
LinkVar.3
< prev
next >
Wrap
Text File
|
1994-09-20
|
5KB
|
133 lines
Tcl_LinkVar(3) Tcl Library Procedures 7.0
_________________________________________________________________
NAME
Tcl_LinkVar, Tcl_UnlinkVar - link Tcl variable to C variable
SYNOPSIS
#include <tcl.h>
int
Tcl_LinkVar(_i_n_t_e_r_p, _v_a_r_N_a_m_e, _a_d_d_r, _t_y_p_e)
Tcl_UnlinkVar(_i_n_t_e_r_p, _v_a_r_N_a_m_e)
ARGUMENTS
Tcl_Interp *_i_n_t_e_r_p (in) Interpreter that contains
_v_a_r_N_a_m_e. Also used by
Tcl_LinkVar to return
error messages.
char *_v_a_r_N_a_m_e (in) Name of global variable.
char *_a_d_d_r (in) Address of C variable that
is to be linked to _v_a_r_-
_N_a_m_e.
int _t_y_p_e (in) Type of C variable. Must
be one of TCL_LINK_INT,
TCL_LINK_DOUBLE,
TCL_LINK_BOOLEAN, or
TCL_LINK_STRING, option-
ally OR'ed with
TCL_LINK_READ_ONLY to make
Tcl variable read-only.
_________________________________________________________________
DESCRIPTION
Tcl_LinkVar uses variable traces to keep the Tcl variable
named by _v_a_r_N_a_m_e in sync with the C variable at the address
given by _a_d_d_r. Whenever the Tcl variable is read the value
of the C variable will be returned, and whenever the Tcl
variable is written the C variable will be updated to have
the same value. Tcl_LinkVar normally returns TCL_OK; if an
error occurs while setting up the link (e.g. because _v_a_r_N_a_m_e
is the name of array) then TCL_ERROR is returned and
_i_n_t_e_r_p->_r_e_s_u_l_t contains an error message.
The _t_y_p_e argument specifies the type of the C variable, and
must have one of the following values, optionally OR'ed with
TCL_LINK_READ_ONLY:
TCL_LINK_INT
Tcl 1
Tcl_LinkVar(3) Tcl Library Procedures 7.0
The C variable is of type int. Any value written into
the Tcl variable must have a proper integer form
acceptable to Tcl_GetInt; attempts to write non-
integer values into _v_a_r_N_a_m_e will be rejected with Tcl
errors.
TCL_LINK_DOUBLE
The C variable is of type double. Any value written
into the Tcl variable must have a proper real form
acceptable to Tcl_GetDouble; attempts to write non-
real values into _v_a_r_N_a_m_e will be rejected with Tcl
errors.
TCL_LINK_BOOLEAN
The C variable is of type int. If its value is zero
then it will read from Tcl as ``0''; otherwise it will
read from Tcl as ``1''. Whenver _v_a_r_N_a_m_e is modified,
the C variable will be set to a 0 or 1 value. Any
value written into the Tcl variable must have a proper
boolean form acceptable to Tcl_GetBoolean; attempts to
write non-boolean values into _v_a_r_N_a_m_e will be rejected
with Tcl errors.
TCL_LINK_STRING
The C variable is of type char *. If its value is not
null then it must be a pointer to a string allocated
with malloc. Whenever the Tcl variable is modified the
current C string will be freed and new memory will be
allocated to hold a copy of the variable's new value.
If the C variable contains a null pointer then the Tcl
variable will read as ``NULL''.
If the TCL_LINK_READ_ONLY flag is present in _t_y_p_e then the
variable will be read-only from Tcl, so that its value can
only be changed by modifying the C variable. Attempts to
write the variable from Tcl will be rejected with errors.
KEYWORDS
boolean, integer, link, read-only, real, string, variable
Tcl 2